home *** CD-ROM | disk | FTP | other *** search
/ Codemasters Artwork Disc ECTS 2000 ( UK) / Codemasters - Artwork Disc ECTS 2000 (UK).bin / pc / xtras / medial~1 / setfx~1.dir / Internal_141_Number Field.ls < prev    next >
Encoding:
Text File  |  1998-12-01  |  2.6 KB  |  109 lines

  1. property pArrowsSprite, pTextSprite, pTextField, pCurVal, pActive, pCallBackObj, pRefcon, pMin, pMax
  2.  
  3. on new me, propList, pArrowsSprite0, pTextSprite0, pTextField0, pMin0, pMax0, pCurVal0, pCallBackObj0, pRefCon0
  4.   set pArrowsSprite to getaProp(propList, #arrowsSprite)
  5.   set pTextSprite to getaProp(propList, #textSprite)
  6.   set pTextField to getaProp(propList, #textField)
  7.   set pMin to getaProp(propList, #min)
  8.   set pMax to getaProp(propList, #max)
  9.   set pCurVal to getaProp(propList, #cur)
  10.   set pActive to getaProp(propList, #active)
  11.   set pCallBackObj to getaProp(propList, #callback)
  12.   set pRefcon to getaProp(propList, #ref)
  13.   put string(pCurVal) into field pTextField
  14.   SetEnabled(me, pActive)
  15.   return me
  16. end
  17.  
  18. on wait me, waitTime
  19.   set t to the ticks
  20.   repeat while the ticks < (t + waitTime)
  21.   end repeat
  22. end
  23.  
  24. on Arrows me, spriteNum
  25.   if not pActive then
  26.     exit
  27.   end if
  28.   set v1 to the locV of the clickLoc
  29.   set v2 to the locV of sprite the clickOn
  30.   if v1 < v2 then
  31.     set side to "up"
  32.     set d to 1
  33.   else
  34.     set side to "down"
  35.     set d to -1
  36.   end if
  37.   set the member of sprite spriteNum to member ("vertArrows" && side)
  38.   set pCurVal to max(min(pCurVal + d, pMax), pMin)
  39.   SetVal(me, pCurVal)
  40.   updateStage()
  41.   wait(me, 5)
  42.   repeat while the stillDown
  43.     if rollOver(spriteNum) then
  44.       set the member of sprite spriteNum to member ("vertArrows" && side)
  45.       set pCurVal to max(min(pCurVal + d, pMax), pMin)
  46.     else
  47.       set the member of sprite spriteNum to member "vertArrows"
  48.     end if
  49.     SetVal(me, pCurVal)
  50.     wait(me, 5)
  51.   end repeat
  52.   set the member of sprite spriteNum to member "vertArrows"
  53.   if objectp(pCallBackObj) then
  54.     EndChange(pCallBackObj)
  55.   end if
  56. end
  57.  
  58. on keyBoardInputDown me, k
  59.   if not pActive then
  60.     exit
  61.   end if
  62.   if "0123456789" & BACKSPACE contains k then
  63.     pass()
  64.   else
  65.     dontPassEvent()
  66.   end if
  67. end
  68.  
  69. on keyBoardInputUp me, k
  70.   if not pActive then
  71.     exit
  72.   end if
  73.   set v to value(field pTextField)
  74.   if v < pMin then
  75.     put string(pMin) into field pTextField
  76.   else
  77.     if v > pMax then
  78.       put string(pMax) into field pTextField
  79.     end if
  80.   end if
  81.   set pCurVal to value(field pTextField)
  82.   changeNumber(pCallBackObj, pCurVal, pRefcon)
  83. end
  84.  
  85. on TextOut me
  86.   if voidp(pCurVal) then
  87.     put " " into field pTextField
  88.   else
  89.     put string(integer(pCurVal)) into field pTextField
  90.   end if
  91. end
  92.  
  93. on SetVal me, newVal
  94.   set pCurVal to newVal
  95.   TextOut(me)
  96.   if objectp(pCallBackObj) then
  97.     changeNumber(pCallBackObj, newVal, pRefcon)
  98.   end if
  99. end
  100.  
  101. on SetEnabled me, enabled
  102.   set pActive to enabled
  103.   enableInterfaceElement(pArrowsSprite, enabled)
  104.   enableInterfaceElement(pTextSprite, enabled)
  105. end
  106.  
  107. on Release me
  108. end
  109.